A semiconductor memory device is a memory device embodied using a semiconductor such as silicon Si, germanium Ge, gallium arsenide GaAs, indium phosphide InP, etc. A semiconductor memory device can be a volatile or a nonvolatile semiconductor memory device.
A volatile memory device loses stored data when its power supply is interrupted. Examples of the volatile memory device include a static RAM (SRAM), a dynamic RAM (DRAM), a synchronous DRAM (SDRAM), etc. A nonvolatile memory device retains stored data even when power supply is interrupted. Examples of a nonvolatile memory device include a read only memory (ROM), a programmable ROM (PROM), an electrically programmable ROM (EPROM), an electrically erasable and programmable ROM (EEPROM), a flash memory, a phase change RAM (PRAM), a magnetic RAM (MRAM), a resistive RAM (RRAM), a ferroelectric RAM (FRAM), etc.
Since a flash memory has high operation speed and low power consumption, it is being used in a variety of fields. In a solid-state flash memory cell, data can be written onto the medium of the memory cell, this data can be erased from the medium, and new data can be written onto the same medium. The sequence of erasing data that has been written to a solid-state flash memory cell and then writing over it again is called a solid-state-storage program-erase (P/E) cycle. Each such cycle causes a small amount of physical damage to the medium of the flash memory cell. Over time this damage accumulates, so that there is a limit to the number of P/E cycles that can be performed before the accumulated damage renders the cell unusable. Accordingly, counting the number of P/E cycles that have been performed can indicate how close the cell is to failure, and/or when the cell can no longer be relied on.
Accordingly, the lifetime of a flash memory may be determined based on a P/E cycle or program/erase count. For example, if an average erase count of a flash memory is greater than a critical value, reliability of data stored in a flash memory is not guaranteed. Thus, to increase failure prediction and failure avoidance efficiency of a flash memory, a warning message may be transmitted to a user based on average erase count to warn of approaching end-of-life of the flash memory. However, the user's pattern of use may change the lifetime of the flash memory, estimating the lifetime of the flash memory simply on the basis of the average erase count may be problematic. Accordingly, it would be useful to find other methods by which to determine and warn the user that the flash memory end of lifetime or failure may be near.
In one aspect of the inventive concept revealed herein, a method of operating a memory controller that controls a nonvolatile memory device including a plurality of user blocks and a plurality of reserved blocks comprises calculating a ratio of the number of used reserved blocks among the plurality of reserved blocks during a predetermined period to an operation count during the predetermined period, transmitting an end of lifetime warning signal to an external device based on the calculated ratio, and if one or more blocks among the user blocks become bad, causing the memory controller to replace the one or more bad blocks with one or more of the reserved blocks. The number of used reserved blocks signifies the number of the reserved blocks that have been used to replace the one or more bad blocks, and the operation count is at least one of an erase count of the nonvolatile memory device, a program count of the nonvolatile memory device, and/or a time count indicating usage time.
In another aspect of the inventive concept, a method of operating a memory controller that controls a nonvolatile memory device including a plurality of user blocks and a plurality of reserved blocks comprises calculating, for each period of a plurality of periods, a respective ratio of the number of used reserved blocks among the reserved blocks to an operation count of the nonvolatile memory device, storing the respective calculated ratios, estimating a current ratio based at least in part on the stored ratios, transmitting an end of lifetime warning signal to an external device based on the estimated current ratio, and causing the memory controller to replace the one or more bad blocks with one or more of the reserved blocks if one or more blocks among the user blocks become bad, wherein the number of used reserved blocks signifies the number of the reserved blocks that have been used to replace the one or more bad blocks, and the operation count is at least one of an erase count, a program count, and/or usage time of the nonvolatile memory device.
In yet another aspect of the inventive concept, a user system for memory control comprises a non-volatile memory including a plurality of user memory blocks and a plurality of reserved memory blocks, and a memory controller configured to control the nonvolatile memory by calculating a ratio of the number of used reserved blocks among the plurality of reserved blocks during a predetermined period to an operation count during the predetermined period, transmitting an end of lifetime warning signal to an external device based on the calculated ratio, and causing the memory controller to replace the one or more bad blocks with one or more of the reserved blocks if one or more blocks among the user blocks become bad, wherein the number of used reserved blocks signifies the number of the reserved blocks that have been used to replace the one or more bad blocks, and the operation count is at least one of an erase count of the nonvolatile memory device, a program count of the nonvolatile memory device, and/or a time count indicating usage time.